Companion device experiences allow a user to use a companion device, such as a media capable portable device (e.g., a smartphone or tablet), simultaneously while watching a program on a main device, such as a television. For example, a user may watch a TV show on a main television screen and simultaneously chat with friends about the TV show using a tablet device, or post comments about the TV show from the tablet for others to see in real time.
To enable the companion device experience with the main device, a user may manually enter the program identifier (ID) information for the program into the companion device. However, the companion device typically does not have any knowledge of the program that is currently being displayed on the main screen. For example, the companion device assumes the user is watching the program on the main screen due to the user inputting the program ID information into the companion device, not because the companion device actually has detected the program is being displayed on the main device. Having users manually enter the program ID information may lower the participation rate because of the difficulty in determining the program ID information and the process of manually entering in the program ID information.
Some solutions may attempt to detect the audio of the program being output on the main device to determine the program ID information. However, detecting the audio is not a foolproof solution. For example, if the audio is sampled during a commercial, the volume is too low, or if there is significant background noise, the program may not be identified. Additionally, a companion device is often not powerful enough to perform the audio recognition algorithms necessary to determine the program ID information. Thus, communication with a back-end infrastructure is needed. The investment in the back-end infrastructure may be large because the infrastructure requires tuners, real-time audio analyzers, storage, and real-time database management and search functions for all possible programs that may be offered.